package com.miaoshare.core.utils.webViewUtil;

import android.os.Build;
import android.util.Log;
import android.webkit.ValueCallback;
import android.webkit.WebView;

/**
 *  * Created by zxs
 *  * on 2022/2/11
 * Android通过WebView调用JS代码的方法有2种：
 * 1. 通过WebView的loadUrl（）
 * 2. 通过WebView的evaluateJavascript（）
 * 优点：该方法比第一种方法效率更高、使用更简洁。
 * 1. 因为该方法的执行不会使页面刷新，而第一种方法（loadUrl ）的执行则会。
 * 2. Android 4.4 后才可使用
 */

public class AndroidToJs {

    public static void setLoadUrl(final WebView webView, final String url) {
        webView.post(new Runnable() {
            @Override
            public void run() {
//                 webView.loadUrl("javascript:getToken('" + token + "')"); getToken ：js方法名， token :android端传递的参数
                if (Build.VERSION.SDK_INT < 19) {
                    webView.loadUrl("javascript:" + url);
                } else {
                    webView.evaluateJavascript("javascript:" + url, new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String value) {
                            //此处为 js 返回的结果
                            Log.e("Tag-AndroidToJs:", value);
                        }
                    });
                }
            }
        });
    }


}
